子類別必須能夠替換父類別,並且行為正常
當功能被繼承覆寫,卻沒有照著父類別的功能規範時,可能會導致功能被誤導而誤用。
假設會計有個系統[客戶企業.exe]可以建立支付清單,可以查詢客戶是否付款,來查詢客戶是否已經付款給我們
後來關係企業也需要建立支付清單,所以資訊人員直接用[客戶企業.exe]直接改寫一支新的程式[關係企業.exe],但功能是查詢我們是否付款給他們,沒有支付的話,則會立刻付款給關係企業。
結果過了很久,關係企業我們已經不需要付款,資訊人員與會計也換了人,所以這個功能也沒有人使用。
需要關係企業變成我們的客戶之一,他們變成要支付給我們,且合約上的支付金額單位變成美金計算。
此時新的會計人員發現了這支[關係企業.exe]的程式,以為提供的功能與[客戶企業.exe]相同,便請資訊人員把功能從[台幣計算]改成[美金計算]
然後會計人員很開心的開始使用這支功能...END